home *** CD-ROM | disk | FTP | other *** search
- 5 REM ******************************
- 10 REM * HANGMAN *
- 15 REM * *
- 20 REM * BY MATT HOFFMAN *
- 23 REM * *
- 25 REM * SEPT 1987 *
- 26 REM ******************************
- 27 REM
- 28 REM ASSIGN VARIABLES
- 29 REM
- 30 DIM AL$(26):DIM W$(15)
- 35 SP$=""
- 36 R$=""
- 37 ALPH$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- 40 PRINT"ô"
- 45 G=0:TRY=0:W=0:D$="":REPEAT$="":W$=""
- 46 REM
- 47 REM ENTER WORD
- 48 REM
- 49 POKE53280,15:POKE53281,15:GOSUB5000
- 50 PRINT"ùENTER WORD(UP TO 15 LETTERS)":INPUT W$
- 60 L=LEN(W$)
- 70 IF L>15 THEN 40
- 100 PRINT"ô óóóóóóóó"
- 110 PRINT" ┤ ▀ "
- 120 PRINT" "
- 130 PRINT" "
- 140 PRINT" "
- 150 PRINT" "
- 160 PRINT" "
- 170 PRINT" "
- 175 PRINT" "
- 180 PRINT" "
- 185 PRINT" "
- 190 PRINT" "
- 195 PRINT"";
- 197 REM
- 198 REM PRINT BLANKS
- 199 REM
- 200 FOR I=1TOL
- 201 L$=MID$(W$,I,1)
- 202 FOR M=1TO26
- 203 IF L$=MID$(AL$,M,1)THEN PRINT "» ";
- 207 NEXT M
- 208 PRINT L$" ";:G=G+1
- 209 NEXT I
- 210 FOR C=1TO 26:POKE 1909+C,C:NEXT C
- 220 PRINT""LEFT$(R$,20);LEFT$(SP$,12);"LETTER?"
- 225 REM
- 226 REM MAIN LOOP
- 227 REM
- 230 GET L$:IF L$=""THEN230
- 235 IF ASC(L$)<65ORASC(L$)>90THENHI=4:LO=1:GOSUB6000:GOTO230
- 240 GOSUB 500
- 245 IF D$="Y" THEN 40
- 250 GOTO 230
- 450 END
- 499 REM
- 500 REM RIGHT LETTER?
- 501 REM
- 505 FLAG=0
- 510 FOR C=1TO26
- 520 IF L$=MID$(ALPH$,C,1)THEN GOTO 535: REM FIND # VAL OF LETTER
- 530 NEXT C
- 535 Q=1909+C:REM FIND POSITION OF LETTER
- 540 IF(PEEK(Q)AND128)=128 THEN HI=4:LO=10 :GOSUB 6000:RETURN
- 545 POKEQ,C+128:REM MARK LETTER W/ REV
- 555 FOR I=1 TO L:IF L$=MID$(W$,I,1)THEN POKE1712+(I*2),C:FLAG=1:G=G+1
- 560 NEXT I
- 563 IFFLAG=1THENHI=16:LO=195:GOSUB6000:FORTD=0TO15:NEXT:HI=25:LO=30 :GOSUB6000
- 565 IF FLAG=0 THEN GOSUB 1000
- 570 IF G=L THENPRINT" CORRECT, YOU HAVE BEEN SPARED !!!":GOSUB3000:GOSUB700
- 580 IF W=6 THEN PRINT" SORRY, YOU'RE DEAD !!!":PRINT LEFT$(R$,14):GOSUB 700
- 600 RETURN
- 699 REM
- 700 REM TRY AGAIN ?
- 701 REM
- 705 G=1
- 706 IF FLAG=0 THEN PRINT TAB(10):FORI=1TOL:PRINTMID$(W$,I,1)CHR$(29);:NEXT:PRINT""
- 710 PRINT TAB(10)"WANT TO TRY AGAIN? Y/Næ"
- 711 FOR T=0 TO 200:NEXT T
- 720 PRINT TAB(10)"ÆWANT TO TRY AGAIN? Y/Næ"
- 722 FOR T=0 TO 200:NEXT T
- 724 G=-G
- 725 GET
- 730 IF D$="Y" THEN RETURN
- 740 IF D$="N" THEN PRINT"ô":END
- 750 GOTO 720
- 990 REM
- 995 REM WRONG CHOICES
- 997 REM
- 1000 W=W+1
- 1005 HI=5:LO=152:GOSUB 6000:FOR TD=0 TO 50:NEXT
- 1007 HI=4:LO=48:GOSUB 6000
- 1010 ON W GOTO 1020,1050,1080,1110,1200, 1230
- 1020 PRINT""
- 1025 PRINT" ╒╔"
- 1030 PRINT" ╩╦ "
- 1040 RETURN
- 1050 PRINT" ╧╨ "
- 1060 PRINT" ┤¬ "
- 1070 PRINT" ╠║"
- 1075 RETURN
- 1080 PRINT"æææ ╬╧╨ "
- 1090 PRINT" Ñ┤¬ "
- 1100 PRINT" ╠║"
- 1105 RETURN
- 1110 PRINT"æææ ╬╧╨═"
- 1120 PRINT" Ñ┤¬º "
- 1130 PRINT"